Project Description:
In the Spring 2026 semester, our group of three developed a software application as part of the Computing Methods II course in the Industrial Engineering and Operations Analytics program at the University of Arkansas. The purpose of this project was to combine the various technical skills learned throughout the semester into one system.
After discussing potential ideas, we chose to center our project around baseball analytics due to our shared interest in the sport. The final product is an application that accepts a dataset, processes and cleans the data, and allows users to interact with it in meaningful ways. Specifically, the application can generate an efficient batting order and estimate offensive production based on selected players.
To build this system, we utilized several tools introduced in the course, including Tablesaw for data handling, Vaadin for the user interface, and SMILE Regression for predictive modeling.
Lineup Prediction Feature: 
The first interface presented to the user is the lineup prediction tool. In this section, users assign players to each of the nine defensive positions using dropdown menus. To ensure realistic selections, each dropdown only includes players who have played that specific position.
Once all positions are filled, the program calculates an expected number of runs scored over a full season. This estimate is generated using a weighted model built from offensive statistics, where OPS plays the most influential role due to its ability to capture both on-base performance and hitting power. 
For instance, one sample lineup produced an estimated total of 795.40 runs, which is consistent with typical MLB team performance.
To prevent incomplete inputs, we added a validation feature. If a user attempts to run the model without selecting all nine players, a notification appears prompting them to complete the lineup. This was implemented using Vaadin’s built-in notification functionality.
Lineup Optimization Feature: 
The second component of the application is the lineup optimization tool, which can be accessed through the navigation panel. This feature allows users to select any nine players from the full 2022 MLB dataset.
After the selection is made, the application determines the most effective batting order for those players. In addition to the optimized lineup, the output also includes a projected run total and key individual statistics such as OPS, home runs, and batting average. 
This feature differs from the predictor in that it focuses on rearranging a fixed group of players rather than assigning them by position.
As with the first tool, input validation is included. If the user selects fewer or more than nine players, an error message is displayed to ensure proper usage.